High security pay television system

ABSTRACT

A high security pay television system is provided in which subscribers are provided with a decoder and with periodically changed removable memory modules. The decoder only functions to properly descramble the scrambled broadcast signal when a changeable system-wide code is available in the decoder. The code can either be carried in the memory module, or an internal code unique to the decoder and resident in the decoder can be combined with an external code in the removable memory module, and also unique to that decoder, to generate the common systemwide system code. Program viewership is written on the removable memory module which is returned to a central facility for later subscriber billing.

TECHNICAL FIELD

The present invention relates to systems for pay broadcast television ingeneral, and relates, in particular, to a secure scrambling andunscrambling system including a provision for the viewers to be billedonly for the actual broadcasts or parts thereof watched by that viewer.

BACKGROUND OF THE INVENTION

It is becoming increasingly common for pay television systems to beutilized for the transmission of television programming to subscriberswho are willing to pay either on a fixed periodic or pay per view basisfor the programming. The most common pay television systems presently inuse are operated in conjunction with cable system broadcast oftelevision programming, but over-the-air systems also exist. The impetusbehind the trend toward pay television broadcast is the need to generatemonetary remuneration to program providers more than is normallyobtainable through advertiser supported television or to programproviders of programs for which the audience is more limited in size. Inany pay television broadcast system, however, security needs to be aprimary concern in order to ensure that viewers will pay for theprogramming broadcast rather than being able to gain unauthorized accessto the broadcast programming in some fashion without the necessity forpaying for the service.

Many systems are currently in operation for pay broadcast television,whether in cable or over the air, which include electronic scrambling ofthe broadcast television signal. Such a system requires a descramblerassociated with the television receiving station and the descramblermust be, of course, particularly adapted to descrambling the type ofscrambling imposed by the broadcast station on the particular broadcastsignal. Usually a particular fixed format of decoder or descrambler isused at each receiving station which will in some fashion modify thebroadcast signal in a way exactly complimentary to the way thescrambling device imposed a scrambling signal on the program signal atthe broadcast station, so that the viewer views the complete unscrambledprogram at his location. The viewer is charged what is, in effect, arental charge for use of the descrambler and usually this charge is madeon a fixed periodic basis, i.e. monthly, regardless of how muchprogramming is watched. One aspect of such systems is that it ispossible for unauthorized or "pirate" descramblers to be constructed bypersons knowledgeable in electronic design and these unauthorizeddescramblers can become available legally or illegally to those willingto pay for them. Once a potential viewer has legally or illegallypurchased such a descrambler, he then has free and unimpeded access tothe scrambled broadcast signals indefinitely.

One system which has been utilized to try and avoid the possibility ofunauthorized scramblers being obtained and used indefinitely makes useof a numerical code which is operated on by an algorithm to predictablyderive either a scrambling or descrambling signal. The broadcast stationimposes one polarity of the signal produced by the algorithm as ascrambling signal on the program signal while the receiving stationimposes the exact complementary signal using the same algorithm on thescrambled broadcast signal to descramble the program signal. In such asystem it is necessary for the user to find out the code for theparticular broadcast since the numerical code must be changed for eachbroadcast if unauthorized viewing is to be prevented for that broadcast.In the current systems in use, the viewer telephones the central billingstation and requests the proper code for the particular broadcast hewishes to watch. The central station gets the identity of the viewerfrom his telephone call and gives the user the proper code which theuser then enters onto a digital entry device contained on the decodingbox at his viewing station to properly descramble the broadcast signal.The central station can then bill the viewer based on what programs theviewer has selected the proper code for. Such a system suffers from anobvious deficiency in that once the user knows the code, he can freelytransmit that code to other subscribers to the system who have not giventheir names to the central billing station and the other subscribers mayalso then use that code to properly descramble and view the broadcastsignal without paying for the service. Such a system may alsooccasionally have problems of access to the central billing facilityduring peak times when many viewers may call to request access to theproper codes to view particularly popular programs.

The more common systems in actual use today involve so-called"addressable" converters. These converters are descramblers located atthe viewers station which can be selectively turned on or off by thebroadcast station. They are called "addressable" since each descramblerhas a unique address or identification which can be called by thebroadcast station in turning the converter on or off.

Another aspect into which effort has been directed in developing paytelevision systems is in the method of billing to the subscriber of thesystem. Many current cable and premium cable channel systems are chargedto their subscribers on a fixed monthly basis. It is believed by many inthe industry that many additional viewers would subscribe to suchsystems if they were charged on a pay per view basis rather than on amonthly basis. Unfortunately, few cable or other pay broadcast systemsare currently technically able to bill subscribers on a pay per viewbasis because of either the technical difficulty or practicalinconvenience in monitoring actual program viewing.

Some systems have been developed and are described in the prior artwhich are capable of billing pay television subscribers on a pay perview basis. Most of these prior art systems are based on a telephonedata linkage between the decoder at the subscribers station and acentral billing facility. The decoder is dialed up, or selectivelyaccessed in some other way, by the central billing facility on aperiodic, i.e., daily or weekIy, basis to cause the decoder to transmitprerecorded viewing log information to the central facility. Suchsystems are obviously dependent upon a te-ephone linkage for theircompetent functioning. Other systems have been attempted in which somerecording device is used at the receiving station which is sent to abilling facility to bill the viewer on a pay per view basis. Thesesystems have not, however, had effective means to disable the viewersaccess to the programming if the viewer has not properly and timely paidhis bill.

One system has been described, in U.S. Pat. No. 4,081,832, to Sherman,which makes use of a punched card carrying descrambling informationthereon and which is also punched by the decoder to record programviewing.

No prior art television broadcast signal scrambling system is presentlyin actual use which cannot be overcome by a fixed electronicdescrambler, if an unauthorized subscriber is willing to spendsufficient time and effort to develop or obtain such a descrambler insome unauthorized fashion. The present system is intended to providesuch a system.

SUMMARY OF THE INVENTION

The present invention is summarized in that a pay television broadcastsystem includes: a broadcast station having scrambling means forimposing a scrambling signal on the program signal, the scramblingsignal being generated through the use of an inverse of a signalgenerated from pre-selected changeable system code; a plurality ofreceiving station decoders each including descrambling means forimposing a descrambling signal complimentary to the scrambling signal onthe received broadcast signal, the descrambling signal only beinggenerated from the same system code, each receiving station decoderincluding therein a fixed, station-unique internal code; and a portabledigital memory module for each receiving station decoder, each modulecarring thereon a fixed, station-unique external code which can becombined with the internal code of the proper receiving station togenerate the system code in the receiving station, the memory modulebeing removable from the receiving stations and replaceable so that thesystem code can be periodically changed.

It is the object of the present invention to provide a pay televisionbroadcast system in which the scrambling to the broadcast signal is donein accordance with a numerical code which may be changed periodicallyand confidential-y so as to make it difficult or impossible for a fixedinvariable decoder to be developed by any unauthorized persons whichcould successfully descramble the scrambled broadcast code over anyextended period of time.

It is another object of the present invention to provide a paytelevision broadcast system in which billing information is recorded bythe user and transmitted to a central billing facility easily andconveniently without the need for cable or telephone access between thereceiving station and a central billing facility.

It is yet another object of the present invention to provide a paytelevision access system which further includes therein a method forattributing a broadcast program viewed by a subscriber to one particularbroadcast station of many broadcasting the program and also a method forallowing parental or other selective control of the general content ofprograms being described and viewed at the receiving station.

Other objects, advantages and features of the present invention willbecome apparent from the following specification when taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram view of a broadcast systemconstructed in accordance with the present invention.

FIG. 2 is a flow chart indicating the functioning of a program foroperation of the microprocessor contained in the decoder of the systemof FIG. 1.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Illustrated in FIG. 1, and generally indicated at 10, is a decoder foruse in a pay television broadcast system constructed in accordance withthe present invention. The decoder 10 is adapted to receive a scrambledbroadcast signal from a broadcast station 12, broadcasting either overthe air or over cable, from a video cassette recorder 14 onto which abroadcast station signal has been recorded, or from other televisionbroadcast transmittal systems. The decoder is intended to unscramble thescrambled broadcast signal, assuming that the system user has beenproperly authorized to gain access to the broadcast signal, and producean unscrambled program signal for viewing by a subscriber on aconventional television set 16.

The scrambled broadcast signal, whether from an over-the-air broadcaststation or from a VCR or other prerecorded media, is received in thedecoder 10 by a demodulator and tuner 18. The demodulator and tuner 18includes suitable electronics of a type well known to the art to tunefor the specific broadcast frequency selected by the viewer and todemodulate from the scrambled broadcast signal certain coded informationfor transmittal to the microprocessor as will be discussed in greaterdetail below. The coded information in the broadcast signal can beencoded by any of several well-known techniques, such as AM modulationof the FM carrier, vertical blanking interval transmission, or the useof a subcarrier. The particular method used for encoding these digitalbroadcast codes in the broadcast signal is not important as long as thedecoding circuitry included in the demodulation and tuner 18 isrelatively economical and efficient.

The broadcast signal output of the demodulator and tuner 18, which is abroadcast signal which is still scrambled, is transmitted directly to amixer 20 located at the output end of the decoder 10. The mixer 20includes two inputs. If the other input to the mixer 10 precisely iscomplementary to the scrambling signal imposed on the scrambledbroadcast signal, the action of the mixer 20 in combining these twosignals will result in a completely unscrambled program signal as theoutput of the decoder 10 for transmittal to the viewers television set16. The remaining elements of the deccder 10 are intended to generatethis complementary descrambling signal.

The output of the digital code decoder in the demodulator and tuner 18is fed as input to a microprocessor 22. The microprocessor 22 has accessto electronic memory 24, in the form of both read only memory (ROM) andrandom access memory (RAM), which may or may not be included in a singleintegrated circuit with the microprocessor 22 itself, or which may alsobe included in a separately located integrated or discrete memory module24 located in the decoder 10. The microprocessor 22 also has aninterface to receive and write information onto a removable memorymodule 26 which can be removed from the decoder 10 and which will bediscussed in greater detail below. The microprocessor 22 also providesoutputs to LED drivers 28 which are connected to a visual display 30consisting of LEDs or other optical signal generating apparatus. Thevisual display 30 is used to display the status of the decoder operationto the viewer, such as station watched, program content or cost, etc.One or more control switches 32 are located on the exterior of thedecoder 10 which provide inputs which can be read by the microprocessor22. The output of the microprocessor 22 is fed to a digital to analog(D/A) converter 34 whose output is connected to the mixer 20.

In order to understand the functioning of the decoder 10 as illustratedin FIG. 1, it is necessary to understand the purpose, identity andfunction of four different codes associated with the pay televisionbroadcast system disclosed here. These codes are referred to asnumerical codes since they are most easily used in a digital form but itshould be understood that the exact manner of expression of the codesmay vary from system to system and that many forms of digital codeexpression are usable in a system of this type, such as binary,binary-coded decimal, decimal, hexadecimal, ASCII, etc. lt is simplyimportant that these codes be digitally transmissable and be capable ofbeing processed and operated on in the decoder 10.

A first code used in the system is referred to as the broadcast code.The broadcast code is a numerical code associated with a specifictelevision program broadcast. The broadcast code is imbedded in thetelevision broadcast signal by any of several methods such as AMmodulation of an FM audio carrier, an inband FSK (frequency shift keyed)modulated carrier signal transmitted within the vertical blankinginterval in the broadcast signal, the use of a subcarrier, or by any ofthe other well known methods of transmitting digital information alongwith the analog television picture signal. Whatever method is used formodulating the broadcast code into the broadcast signal, the demodulator18 must be specifically adapted to demodulate that specific numericalbroadcast code from the input broadcast signa1 and transmit it to themicroprocessor 18. Such demodulators are well known in the art. As willbe discussed in greater detail below, the broadcast code may includesmaller units, or sub-codes, which may serve as an identification of theexact program being broadcast, of the broadcast station, and of thecategory of program content contained in the broadcast signal program.Other useful information as may be appropriate for a given system mayalso be included in the broadcast code.

Three related codes utilized within the system of the present inventionare the internal, external, and system codes. The first of those codesis referred to as an internal code. The internal code is contained inthe ROM 24 associated with the microprocessor 22 and is unique to eachof the decoders 10 constructed in accordance with the present invention.The external code is a code which may, for purposes of understanding, beconsidered as a sort of compliment to the internal code. The externalcode is contained in the removable memory module 26 which is uniquelyassociated with the decoder 10. In general, the internal and externalcodes may be manipulated or combined by a standard algorithm, such assimple addition, to arrive at the system code which is common to all ofthe decoders 10 used within a single pay television broadcast systemconstructed in accordance with the present invention. While simpleaddition of the external and internal codes will usually provesufficient, it is certainly possible for the operation of combining theinternal and external codes to involve a more sophisticated simple ormulti-step algorithm as long as the result of the combination ispredictable. The internal code contained in the ROM 24 of each decoder10 is fixed and unique to the specific decoder 10 while the externalcode, contained in the removable memory module 26 for that specificdecoder 10, must also be unique to that decoder 10 but is changed fromtime to time so that the system code can be changed. In other words, theinternal code is constant while the external code and the system codeare changed from time to time in synchrony. External codes are normallychanged by replacing the removable memory module 26 but it is alsopossible for one module 26 to carry more than one external code with theproper code being either selected by time period or by the broadcastcode as in the example below.

The other specific detail of the system of the present inventionrequiring specific explanation is the provision for the removable memorymodule 26. The removable memory module is be a module of electricallyalterable and readible memory which must be removable from the decoder10 and transportable. While a wide variety of removable and portablememory media are suitable within the use of a system in accordance withthe present invention, it is particularly useful to use a small card orplastic holder containing therein an erasable programmable read onlymemory (EPROM) circuit or, most preferably, an electrically erasableprogrammable read only memory (EEPROM). The use of an EEPROM as themodule 26 allows for a small and lightweight memory module to beutilized which can be readily transported, as through the mail, andwhich can be carried in a suitable carrier so that it can be easilyplugged into and removed from a suitable port formed in the decoder 10.Other suitable portable, removable magnetic or electronic digital memorymodules are possible in substitution for the EEPROM, including, mostnotably EPROMs and magnetic cards or strips. An EEPROM offers the bestalternative because of its ease of re-use and adaptability. The EEPROMcarrier should mate with the decoder 10 so that the electronic circuitryof the microprocessor 22 can read from and write to the EEPROM 26. It isspecifically intended that the removable memory module, in the form ofthe EEPROM 26, will be replaced periodically, as for an example,monthly, and be transmitted to a remote location for reading for billingpurposes. Subsequent removable memory modules 26 will be provided to thesystem subscriber on a periodic basis, i.e. monthly. It is specificallyintended that new removable memory modules 26 will be provided to thesubscriber only if the subscriber has suitably paid for usage recordedin a prior removable memory module 26 previously sent to the centralbilling system. The removable memory module 26 therefore must includeprovisions for carrying thereon an electronically or electromagneticallyreadable message and must have a provision thereon for writing programviewing information thereon so that it can be returned to the billingauthority for scanning to determine what the system subscriber hasviewed. Each removable module 26 carrying codes thereon is unique to apre-selected decoder 10 since the external codes on it are only properlycomplementary to the internal code of that decoder 10 so each module isonly useful at a pre-determined viewing station for a pre-selected timeperiod.

Illustrated in FIG. 2 is a flow chart demonstrating in schematic chartform the general operation flow of the programming for themicroprocessor 22 of the decoder 10. The microprocessor is in constantoperation when the decoder is in use and so begins operation with thepowering up of the decoder 10 as designated by program step 50 in FIG.2. As the program proceeds in its operation, the next program stepexecuted is at program step 52 in which the demodulator 18 is enabled todemodulate the broadcast code from the scrambled broadcast systemreceived by the antenna connected to the decoder 10. This demodulatedbroadcast code, as first described above, is a numeric code, in binary,preferably carried in a non-video portion of the broadcast signal. Anerror check routine is preferably included in the broadcast code, suchas a parity check or other similar routine, and the program thenproceeds to program step 54 to generate an error check number andascertain that no error in the transmission of the broadcast code hasoccurred. If the program does detect an error in the broadcast code,execution of the program loops back to the point designated at A toretrieve a second broadcast code from the scrambled broadcast signal. Ifthe error check number indicates a satisfactory operation and there isno error detection, the program proceeds past the error check test atstep 56 to program step 58. In program step 58 the program times itselfbased on the receipt of the broadcast code. The execution of thesubsequent program steps need to be synchronized with the time period ofthe scrambling wave imposed on the broadcast signal. Therefore the firstpart of the broadcast code preferably includes a synchronization segmentso that the decoder 10 can synchronize its generation of thedescrambling signal with the scrambling signal. Assuming that all themicroprocessors 22 and each of the decoders 10 in the entire broadcastsystem has a crystal oscillator having a sufficient accuracy in itsclock timing, the timing of all the program steps subsequent to step 58can be empirically measured and the imposition of the scrambling signalon the broadcast signal can be synchronized to delay for a time periodsufficient for the program and the decoders to institute thedescrambling signal in synchronization with the scrambling signalimposed on the broadcast code.

After the program is suitably synchronized, the program then proceeds tostep 60 in which the program identifies an external code address. Theexternal code address will be one of the addresses contained in theremovable memory module or EEPROM 26. It is specifically intended thatwithin the removable memory module 26 there can be more than oneexternal code. Thus for any viewing period there can be several externalcodes which may be usable and any one of the codes can be selected foruse in generating the system code during a particular program broadcast.If only one external code is used at a time in the memory module 26,this step can be omitted. A portion of the broadcast code is used as anaddress locator and may be subject to mathematical manipulation ormultiplication to generate an external code address. This address isgenerated internally by the microprocessor 22 and is presented to theremovable memory module or EEPROM 26 to read the external code. However,before the external code can be presented, an additional securitymeasure must be overcome. The EEPROM 26 is preferably presented with alatch code. The latch code is a numeric code which must be presented tothe EEPROM 26 before the EEPROM 26 will accept an address and allowaccess to the contents of data in its memory. It is specificallypreferred that custom EEPROMs 26 be constructed which will completelydisable themselves and render themselves non-functional if an incorrectlatch code is presented to them. This can be accomplished byconstructing the EEPROMs with a disabling fuse connected to theendpoints of all incorrect switching patterns so that the EEPROM will bedisabled if the latch code is wrong. Thus at program step 62, themicroprocessor 22 presents to the EEPROM 26 the latch code to enable thereading of information contained in the removable memory module orEEPROM 26. Then, in program step 64 the external code is read from theremovable memory module 26 and stored in the random access memory of themicroprocessor 22. The microprocessor now contains in its memory boththe broadcast code derived from the scrambled broadcast signal generatedby the broadcast station and also contains within it the external coderetrieved from the removable memory module 26. It is assumed that themicroprocessor 22 already has access to, preferably stored in its ownROM 24, its own unique internal code specific to the decoder 10.

At program step 66 the microprocessor scans the status of controlswitches 32. The control switches 32 are intended to allow the user toselect a program content level by setting the control switches 32. Forexample, if the control switch 32 consists of one simple two poleswitch, one pole might indicate adult only viewing while the other poleof the switch 32 might indicate viewing suitable for both adults andchildren. At program step 62, the microprocessor 22 will read the statusof the control switch or switches 32 to determine the program contentlevel selected by the user. The EEPROM 26 may be provided with decodinginformation to enable the microprocessor 22 to relate the output of thecontrol switches 32 to specific program content available for viewing inthat billing period. It is also specifically preferred that the controlswitch or switches 32 may be under the operation of a security device,such as a lock and key, which would allow parents to disable the decoder10 from descrambling programs of adult content but which would stillallow the parents or other controllers of the decoder 10 to gain accessto all program materials which they would choose to view. The programthen proceeds to a branch test at program step 68 to determine whetherthe user has selected the proper class of programs for input which arepresently being received on the broadcast signal. This decision is madeby comparing the status of the control switches 32 with the programcontent coding contained within the broadcast code. If the broadcastcode contains program content identification which is allowed forviewing by the control switches 32, the program proceeds throughconditional branch 68 to execute the remainder of the program todescramble the broadcast signal. If this class of program content hasnot been selected by the user, the program branches back to A and thebroadcast signal is therefore not descrambled and no access to thisunscrambled signal is available to the user.

If the program successfully passes conditional branch 68, the programthen proceeds to program step 70 in which the internal and externalcodes are added together and the result is stored separately. Theprogram then proceeds to program step 72 in which the result of additionof the internal and external codes is multiplied by a digit of thebroadcast code to generate the system code. It should be specificallyremembered at this point that the system code is a system-wide codewhich again is preferably a binary number common to all of the decoders10 contained in the system. Since the broadcast code is also common toall of the decoders contained in the system, it is therefore theaddition of the internal and external codes which gives rise to a numberwhich is system-wide in use. The provision for step 72 to multiply thatsystem-wide total times a digit of the broadcast code is only to allowthe internal and external codes to be shorter in the number of digits.If a sufficient number of digits can be contained in the removablememory module 26 to allow sufficient number of choices of externalcodes, program step 72 can be omitted, and the system code can bedetermined simply by adding the internal and external codes together.The exact method of combining the external and internal codes togetherto generate the system code may be varied and any simple or complexalgorithm could be used, such as addition, multiplication, addition andmultiplication (as in this example) or any other similar technique. Itis simply necessary that the algorithm be predictable and that both theinternal and external code are necessary to generate the system code.What is specifically important to the functioning of the device asenvisioned by the present invention is that the internal and externalcodes be unique to the specific decoder 10 while the system codegenerated by use of the combining algorithm on the internal and externalcodes is system-wide in its usage.

At program step 74 the program proceeds to fetch a pre-selected fixednumber from the ROM 24 associated with the microprocessor 22. At programstep 76 the program uses the fixed number to transform the system codeinto a larger digit number. This may be a simple multiplication step ormay be some other mathematical or algebraic expansion of the system codeto make a transformed fixed number having a larger number of digits. Thepurpose in the transformation step embodied in steps 74 and 76 of theprogram is to allow a system code of a smaller number of digits to beutilized, with the number of digits in the code being predictablyexpanded by steps 74 and 76 to make a fairly lengthly numerical sequencefor use in the descrambling technique. At program step 78 thetransformed number is then sequentially multiplied by each digit of thesystem code to generate a continuous numerical sequence. That numericalsequence is treated as a series of digits which are then outputted atprogram step 80 to the digital to analog converter 34. After output ofthe numerical sequence to the digital to analog converter 34, theprogram again loops back to A. The purpose of the numerical sequencegeneration and program step 78 and the output of that sequence inprogram step 80 is to create a sequence of single digit numericalnumbers at the output of the microprocessor 22. These numbers can be 4or 8 bit in character, or any other bit size appropriately selected forthe application. This numerical sequence is converted by the D to Aconverter 34 to an analog voltage level which is inputed to the mixer20. It is specifically intended that the broadcast station 12broadcasting the scrambled broadcast signal has used the similarnumerical sequence in its scrambling operation and the exact inverse ofthe D to A converter 34 contained in the decoder to impose a scramblingsignal on the broadcast signal which should be the exact compliment ofthe output of the D to A converter 34 if the microprocessor 22 hasproperly enabled descrambling of the broadcast signal. It is thereforespecifically intended that the sequence of numerical digits created inprogram step 78 should be exactly sufficient to cover one preselectedrepetitive period of the broadcast signal, such as a single frame of avideo transmission. Thus the length of the numerical sequence created instep 78 is preferably adjusted, depending on the time period for eachscrambling sequence selected and on the bit size of the numerical outputof the microprocessor 22. It is simply important that the output of themicroprocessor 22 be a predetermined fixed numerical sequence which isderived through an algorithm solely dependent on the numerical systemcode for its effective and reliable operation.

It would also be necessary, in addition to the program steps illustratedin FIG. 2, that the program periodically write the identification of theprogram being watched by the viewer on the EEPROM 26. This is notillustrated as part of the program sequence of FIG. 2 since it wouldonly have to be done at great intervals compared to the descramblingwhich must be done continuously. Periodically the program would eitherbranch or interrupt and a routine called to write the program andperhaps the broadcast station code on a suitable location on the EEPROM26. The routine also would appropriately look for the correct locationto write these codes so that they could be properly read when the module26 is sent to the central billing facility. Thus the particulars of thisroutine and the code writing format on the EEPROM 26 are not critical aslong as the results are predictable and the results retrievable.

In order to better illustrate the workings of the present invention, theoperation of this system will be described with reference to aparticular example of its application. These numbers will be presentedhere in decimal, or base ten, format solely for the convenience incomprehension by the reader. Assume, for example, that the broadcastcode incorporated into the scrambled broadcast signal consists of thefollowing number: 10101 8252 1 17 110 230.

This broadcast code consists of several parts. The first part is thenumerical sequence of numbers 10101, which sequence can be of anyselected length and which is intended to provide synchronizationinformation for the system. The next section of digits can be selected,as for example the digits 8252, which can serve as the programidentification number. This program identification number or code canconsist of one or more imbedded items of coded information. For example,the first digit could represent cost category or price categoryinformation on the program being received while the last digit of theprogram identification number could be used to identify the address ofthe external code to be utilized to decode this particular program. Theincorporation of the price category digit into the programidentification code is intended primarily for use in on-site billingsituations such as might be appropriate in a motel or hospital or avideo tape rental location It is the overall program identificationnumber, in this case 8252, which would be written by the microprocessorin the removable memory module 26 to indicate that the program waswatched by the consumer. The central billing system would know from theprogram identification number what the title of the program was and theexact price to be charged to the subscriber for viewing that program.The next digit in the code, in this case the 1, is used to represent theactual segment of the program watched. Thus programs wouldpreferentially be divided into a number of segments and the viewer wouldonly be billed for those segments which were watched by that viewer. Thesucceeding segment of the code, i.e. the number 17, would be a check sumwhich is the error check number generated by the system for use in theerror check at program step 56. ln this simplified case this error checksum represents the sum of the program identification numbers 8, 2, 5,and 2, which added together equal 17. A more complicated error checkalgorithm could of course be utilized, although a simple system may bemore reliable. The next succeeding three digits of the broadcast code,in this case 110, allows a unique code to be assigned to the localdistributor or station from which the program is being brcadcast. Thisallows the broadcaster to place a unique code on the broadcast signal.It is intended that this code also be written onto the removable memorymodule 26 so that the broadcasting station can be given the propercredit for the viewer watching that particular station if more than onestation is utilizing the system and broadcasting into the samecompetitive viewing area. The final three digits of the programbroadcast code, in this case, 230, represent the parental control code.This code designates the rating of the program in terms of categoriessuch as sexual content, level of violence, or political controversy.This code is the one intended to be compared to the output of thecontrol switches 32 to determine whether the selection of the content ofthe program has been made by a viewer.

Once the broadcast code is contained in the microprocessor memory, andonce the synchronization has occurred at step 58, the program takes thedigit from the broadcast code representing the external code address andidentifies and obtains the code from that address at program steps 60through 64. The external code is transferred into memory. In thisexample assume that the external code is 282.

The program next makes the determination of whether the user hasselected that class of program input. In the example described herein,the program would branch to determine if the class of programs assignedclass category 230 have been selected by the viewer. Assuming that thisprogram category is acceptable to the viewer, the program then wouldproceed to step 70 to add the internal and external codes. If theexternal code is, for example, a number equal in length to the internalcode, such as the number 217, the addition of the internal and externalcodes would usually yield a numeral of the same number of digits, inthis case i.e. 499. In the particular circumstance described in whichthree digit codes are used, the system code, i.e. the number 499, wouldbe common to all of the decoders used in the system for a given viewingtime period. The external code 282 would the unique only to theparticular decoder 10 which has therein an internal code 217. A decoder10 which has therein an internal code 216 would require an external code283 etc. Obviously other more complex methods of combining an internaland an external code together to make a predictable system code arepossible within the workings of this system, although simple additionshould often prove satisfactory.

Once the system code is generated, the steps 72 through 78 are followedto generate a numerical sequence. For purposes of this example, assumethat the system code 499 is then multiplied by a selected and commondigit of the broadcast code. One or more multiplications could beperformed depending on the size of the numeral which it is desired tocreate. Assume for the purposes of this example that the system code,499 is multiplied by 825, a portion of the program identification code,and also by a numeral 7, obtained from the error checking number, toyield an enlarged multiplicand of the system code of 2881725. Thepurpose of this numerical expansion of the system code is to allow for alarger number to be utilized in the numerical sequence generation tomake the creation of a descrambler not dependent on the system code amuch more sophisticated and technologically complex project.

This multiplicand is then operated on by a fixed number utilized by allof the decoders in the system to expand this multiplicand further togenerate the numerical sequence. Assume here that the fixed number inthis instance is 4598123. Assume that the transformation in this simpleexample is a simple digit shift of the fixed number around a digitselected by the last digit of the expanded system code. The last digitis 5 and if the fifth least signficiant digit of the fixed number isshifted to the most significant, the transformed fixed number is9812345.

Multiplying the transformed fixed number times each digit of theexpanded system code yields a numerica1 sequence as follows:

    9812345×2=19624690

    9812345×8=78498760

    9812345×8=78498760

    9812345×1=98123450

etc.

This sequence of multiple digit numbers is transferred to the D/Aconverter 34 in appropriate four or eight bit words and this sequence isthus converted to an analog signal. The analog signal is thedescrambling signal which is applied to the mixer 20 to descramble thebroadcast signal.

Thus, in essence, a pay per view broadcast television system utilizingthe present system would work as follows. Each month, or otherpreselected time period, the central billing facility would send eachsubscriber a removable memory module in the form of an EEPROM 26. ThatEEPROM would be usable only with the decoder 10 previously provided tothe subscriber. Since the decoders 10 are completely ineffectual withoutthe appropriate removable memory module 26, the decoders 10 could beprovided free of charge to potential subscribers. The viewer can thenview any show which he may desire by inserting the removable memorymodule 26 into his decoder 10. The program signal is then properlydecoded and the viewer can watch the program. At various points duringthe program, the microprocessor 22 writes the program identificationcode or number onto to the EEPROM 26 to record the viewer's watching ofthe program. At the end of the month, the viewer would receive a newremovable memory module in the mail together with suitable packing ormailing information to send the previous month's EEPROM 26 back to thecentral billing facility. The viewer would then insert the second EEPROM26 in the decoder to enable his system to work during the succeedingmonth. At the central billing facility the EEPROM submitted by the userwould be read and a bill generated depending on the viewership andtransmitted to the subscriber. The subscriber would only receive theappropriate EEPROM 26 for future months in the event that his account ispaid up to date. At any point if his payment history becomesunacceptable, it is merely necessary not to send him a new EEPROM 26such that he will be unable to view descrambled programming when thesystem code is next changed.

In this fashion a highly reliable and technically sophisticatedscrambling system is provided which has high security. It will be verydifficult for unauthorized individuals to construct decoders which couldreliably decode the descrambled broadcast signal created by the presentsystem since such a decoder would only be effective if the system codewas known, and the system code is intended to be changed monthly andkept confidential. The EEPROMs 26 are also secure since there is littleincentive for anyone to attempt theft of the modules because they willnot work in any decoder 10 other than the one for which they havespecifically been coded. Thus the system provides a high level ofsecurity heretofore unprecedented while also providing a system which issimple to implement and whose hardware is inexpensive and convenient.The system does require some very minimal amount of participation by theviewer but it should be extremely easy for the viewer to do thenecessary activities, i.e., plug in the EEPROM 26 and remove it at theend of the month and this should not be a significant problem forimplementation of the system.

It is specifically intended that the present invention not bespecifically limited to the embodiments and illustrations containedherein, but embraces all such modified forms thereof as come within thescope of the following claims.

I claim:
 1. A pay television broadcast system comprisinga broadcaststation including scrambling means for imposing a scrambling signal onthe program signal, the scrambling signal being generated through use ofthe inverse of a signal generated from a pre-selected changeable systemcode, the broadcast station also broadcasting a broadcast code with thebroadcast signal, the broadcast code identifying the program beingbroadcast; a plurality of receiving station decoders each includingdescrambling means for imposing a descrambling signal complementary tothe scrambling signal on the received broadcast signal, the descramblingsignal being generated from the same system code, each receiving stationdecoder including therein a fixed, station-unique internal code, thereceiving station decoder further including means for demodulating thebroadcast signal to recover the broadcast code; a removable,transportable digital memory module for each receiving station decoder,each module carrying thereon a fixed, station-unique external code whichcan be combined with the internal code of the proper receiving stationto generate the system code in the receiving station, the module alsohaving a portion onto which information as to programs descrambled bythe decoder may be written, the memory module being periodically removedfrom the receiving station and replaced with a new memory module so thatthe system code can be periodically changed; the receiving stationdecoder also having means for writing on the memory module programinformation derived from the broadcast code indicating the programsactually descrambled; andmeans at a remote location, to which replacedmemory modules are transported, for reading the memory modules togenerate viewing usage charges based on the programs actuallydescrambled.
 2. A pay television broadcast system as claimed in claim1wherein the broadcast code is used be each receiving station, inaddition to the internal code and the external code, to generate thesystem code.
 3. A pay television broadcast system as claimed in claim 1wherin the broadcast code further includes a broadcast stationidentification code unique to the broadcast station so that portion ofthe broadcast station code identifying the broadcast station can also bewritten onto the portable memory module so the broadcast station for anybroadcast viewing can be determined.
 4. A pay television broadcastsystem as claimed in claim 2 wherein the broadcast code includes aprogram content identification code and wherein the receiving stationincludes a user-selectable content selection input so that thedescrambling station includes a user-selectable content selection inputso that the descrambling signal is not generated if the program contentas indicated by the program content code has not been selected by theuser-selected input.
 5. A pay television broadcast system as claimed inclaim 2 wherein the memory module carrier more than one external codeand the particular external code to be used for any particular programis determined by a portion of the broadcast code.
 6. A pay televisionbroadcast system as claimed in claim 1 wherein the receiving stationdecoder includes means for generating a descrambling signal bymultiplying the digits of the system code by a preselected systemmultiplicand to generate a numerical sequence and by then sequentiallyconverting the numerical sequence to an analog signal by digital toanalog conversion.
 7. A pay television broadcast system as claimed inclaim 1 wherein the digital memory module is an electrically alterableread-only memory (EEPROM).
 8. A pay television broadcast system asclaimed in claim 1 wherein receiving station decoder including means tocreate the combinaton of the internal and external codes includes asimple addition of the two numrerical codes.
 9. In a pay televisionsystem, a receiving station signal decoder for a scrambled broadcastsignal comprisingan internal fixed memory containing a fixed,station-unique internal code; a removable, electrically alterable,removable memory module containing at least one pre-writtenstation-unique, external code which can be combined with the internalcode to generate a systemwide system code, and also a portion onto whichprogram information may be entered; means for generating a descramblingsignal complementary to the scrambling signal upon input of a propernumerical sequence; and a microprocessor programmed (1) to read theinternal code from the fixed memory and the external code from theportable memory module, (2) to combine the external code with theinternal code to generate the systemwide system code, to generate andoutput to the descrambling signal generating means a numerical signalgenerated from the system code, (4) to derive a broadcast code from thescrambled broadcast signal, and (5) to write information about programsactually descrambled, as determined from the broadcast code, in thememory module so that use of the decoder can be billed on a usage basis.10. A decoder as claimed in claim 9 wherein at least a portion of thebroadcast code is aso used by the microprocessor in conjunction with theinternal and external codes to generate the system code.
 11. A decoderas claimed in claim 10 wherein there is more than one external code inthe memory module and the particular external code to be used for aprogram is selected by a portion of the broadcast code.
 12. A decoder asclaimed in claim 9 wherein at least a portion of the broadcast codecontains a program content identification code and wherein there isuser-selectable content selection input to the decoder, themicroprocessor further programmed to read the user-selectable input tonot generate the system code if the program content code has not beenselected by the user.
 13. A decoder as claimed in claim 12 wherein theuser-selectable content selection input is selectably lockable.
 14. Adecoder as claimed in claim 9 wherein the broadcast code contains both aprogram identification code and a broadcasting station code and whereinboth the program identification code and the broadcasting station codeare written into the memory module so both the programs viewed and theparticular broadcasting station can be later determined by readinginformation in the removable memory module.
 15. A decoder as claimed inclaim 9 wherein the descrambling code generating means includes adigital to analog converter to convert the numerical output from themicroprocessor to an analog descrambling signal.
 16. A decoder asclaimed in claim 15 wherein the microprocessor is further programmed tomultiply each digit of the system code times a pre-selected multiplicandto generate a numerical sequence to output to the digital to analogconverter.
 17. A decoder as claimed in claim 11 wherein the combining ofthe external code with the internal code includes adding the two codestogether.
 18. A decoder as claimed in claim 9 wherein to read theexternal code from the removable memory module the microprocessor mustpresent a latch code to the removable memory module, the removablememory module being nonreadable without presentation of the proper latchcode.
 19. The decoder as claimed in claim 9 werein the removable memorymodule is an electrically erasable programmable read only memoryintegrated circuit.
 20. A pay television broadcast system comprisingabroadcast station including (1) scrambling means for imposing ascrambling signal on the program signal to create a scrambled broadcastsignal, the scrambling signal being the inverse of a signal generatedfrom a pre-selected changeable code, and (2) an encoder to imbed abroadcast code in the broadcast signal; a portable, removable reusablememory module for each viewing station changeable code thereon; areceiving station carrying the decoder for each receiving stationincluding (1) means for reading the changeable code from a removablememory module inserted in the decoder, (2) means for imposing adescrambling signal complementary to the scrambling signal on thereceived broadcast signal, the descrambling signal being generated fromthe hangeable code, and (3) writing means for writing at least a portionof the broadcast code in the memory module so that the memory module canlater be read at a remote location to determine the broadcast segmentviewed at the receiving station; and a central billing location to whichmemory modules are sent including means to read the information writtenin the memory modules to create viewer charge information base on theactual programs descramble.
 21. A pay television broadcast system asclaimed in claim 20 wherein the memory module is an electricallyerasable programmable read only memory integrated circuit.
 22. A paytelevision broadcast sytem as claimed in claim 20 wherein the memorymodule carries more than one code thereon with the address of the codeto be used being selected by the broadcast code.
 23. A pay televisionbroadcast system as claimed in claim 20 wherein the writing means in thedecoder writes a portion of the broadcast code in the memory moduleduring each pre-selected segment of broadcast programs so that viewerscan be billed on the basis of program segments rather than wholeprograms.